<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>回顾Object，defineproperty方法</title>
</head>
<body>
    <script type="text/javascript">
    let number=18
    let person={
        name:'张三',
        sex:'男',
        // age:18
    }
    
    //age类型是不能被枚举的
    Object.defineProperty(person,'age',{
        // value:18,
        // enumerable:true,//控制属性是否可以枚举，默认值是false
        // writable:true,//控制属性是否可以被修改，默认值是false
        // configerale:true //控制属性是否可被删除，默认值是false
        
        //当有人读取person的age属性时，get函数就会被调用，且返回值是age否的值 
        get:function(){
            console.log('有人读取get属性了')
        return number
        },

       //当有人修改person的age属性时，set函数（setter）就会被调用，且会收到修改的具体值
        set(value){
            console.log('有人修改了age属性，且值是',value)
            number=value
        }
    })
    // console.log(Object.keys(person))

    console.log(person)
    </script>
</body>
</html>